1. Field of the Invention
The present invention relates generally to computer-aided design (CAD) and simulation, and in particular, to a method, apparatus, and article of manufacture for modifying modeling shapes in a simulation product using deformation lattices without utilizing the originating CAD system.
2. Description of the Related Art
(Note: This application references a number of different publications as indicated throughout the specification by reference characters and numbers enclosed in brackets, e.g., [xyy92]. A list of these different publications ordered according to these reference characters and numbers can be found below in the section entitled “References.” Each of these publications is incorporated by reference herein.)
In today's world of design, engineering and manufacturing, it is extremely commonplace to use a model originally created in one CAD system in a different CAD or CAE (computer-aided engineering) tool, e.g., to perform a structural or fluids simulation. It is important to have the ability to make changes to the model in the non-native tool in order to estimate the effect of these changes in engineering outcomes such as stiffness, strength, thermal management, etc., and also to make these changes parametrically in order to explore the design space via optimization or design of experiments (DOE). However, there is no standardization in the core “data model” used in authoring CAD systems, which causes imported data to appear in the destination system as “dumb geometry” or a boundary representation (BREP) that is stripped of all the rich design intent expressed in the authoring tool, e.g., the “feature tree”, which represents a parametric recipe for the construction of the model. This means that the destination tool has no real means to effect geometric changes in a facile manner that would be equivalent to making these changes in the authoring CAD system. Several approaches have been attempted to remedy this problem as listed below, but none of these represent an effective solution to the problem of modifying non-native CAD geometry.
Feature Recognition
An approach to remedy the problem is that of automatic feature recognition. Automatic feature recognition attempts to recognize “features” in the imported BREP [SMN13] based on many approaches including topological, heuristic, volumetric, process-centric, and hybrid approaches. However, it has been recognized over the years that this is a very challenging problem and none of the approaches work at a level of robustness or reliability that is required to extract features from complex, industrial geometry, especially for the purposes of design edits. Hence, it remains as an open problem in the field of CAD and Computational Geometry.
Hosted Editing in the Authoring CAD System
Another approach is that of hosted editing in the authoring CAD system. This approach is used in some CAE systems, typically referred to as “bi-directional associativity”. This approach requires the authoring CAD system to be co-installed with the destination CAE or CAD tool. Changes are made in the authoring CAD tool and communicated seamlessly into the destination CAE/CAD system. Note that the destination system still views the imported model as “dumb” geometry—the key aspect of the feature is typically the automatic update of data that was created in the destination system that is associated with the original geometry. This approach, while robust, has several drawbacks. Firstly, it requires the authoring CAD system to be available on the same machine as the destination CAE or CAD tool. This is not possible in several contexts, e.g., when an analyst receives a model from a designer and will perform simulations on a system that has no access to the authoring CAD tool. Secondly, this approach is not really viable for optimization type workflows that require model changes to occur on the back-end server system that may have no access to the CAD UI (user interface) at all. Lastly, this approach is restricted to interchange of CAD data in the original authoring format—it cannot be done if the data is received as a neutral file such as STEP/IGES (standard for the exchange of produce model data/initial graphics exchange specification), which is a very common workflow in engineering design.
Direct Modeling
Direct Modeling is a relatively recent feature available in several CAD systems that allows geometry of “dumb” CAD to be edited directly using operations such as pushing/pulling of faces, deletion, etc. This approach does serve to edit CAD models outside the context of their authoring CAD systems. However, these direct modeling operations require significant levels of modification of the geometry/topology of the concerned entities, in addition to recognition of features such as blends. Consequently, the reliability of these operations tend to be far less than ideal when dealing with complex industrial geometry or operations that involve modifications that are extremely complex, e.g., increasing the thickness of a shelled model that has a complex outer surface and a significant amount of detail in its core.
Deformation Lattices
Deformation lattices have been used as free-form deformation tools since their introduction [SP86], primarily in the context of geometry edit tools like those used in animation and, more recently, in Simulation and Optimization. This approach is geared towards free-flowing edits of CAD and mesh data. However, this approach falters substantially in the editing of engineering geometry in a manner equivalent to parametric editing or driving geometry via parametric changes specified via the BREP itself rather than on the deforming lattice. Additionally, this approach is cumbersome for making changes such as modifying the thickness of thin geometry like ribs and fine features and not viable for changes that are complex, e.g., moving a sculpted face so that every point on the face will move outward by a specified distance in a direction normal to the face at that point. Consequently, this approach has limited applicability in the editing of engineering geometry in a manner that would be relevant to effecting design changes or driving optimization.
Prior Art Summary
In view of the above, in computer aided design and simulation, the modification of shapes is an essential modeling process. In commercial CAD systems, models are constructed and represented with features. Examples of such features are holes, slots, and bosses. CAD models are constructed with Boolean operations among these features. Shapes are parameterized with dimensions of such features and their relative locations. Shapes in these CAD systems are modified by changing these parameters. Definitions of these features and the parameters are only relevant within a given CAD system. CAD models can be imported in other CAD systems or simulation software only as “dumb geometry” or boundary representations (B-Reps). Establishing straightforward relations between B-Reps and design parameters is usually difficult as this typically requires solving a system of equations [SV95, FKS12]. The other possible approach is to extract features based from imported B-reps [SMN13]. Such a feature based approach has a number of limitations. First of all, even after efforts for several decades, no commercially available software can extract features reliably and automatically, especially for models with a moderate or high degree of complexity. Secondly, the derived features may not be the ones needed to effect the shape change that is desired.
In recent years, “direct editing” of CAD models has become more prevalent with modeling tools/applications such as the AUTODESK FUSION 360 application or SPACECLAIM application. These tools/applications modify the geometry by operating directly on the BREP without requiring parametric information. However, the geometry changes available with such tools are relatively limited since they generally require an extensive sequence of operations that involve topology and geometry that are relatively complex in nature with a substantial risk of failure. In addition, complex changes are not easily expressed in these direct edit tools—an example would be thickening the outer boundary of a shelled body that has subsequently been modified to include a lot of interior details.
Furthermore, shapes may be obtained from various other techniques such as topology optimization. In topology optimization, optimized material distribution is obtained that can suggest an optimal layout. Shapes that are an outcome from these techniques can be “organic” in nature and are not expressible as a Boolean of parametrized geometry primitives as is typical in solid modeling. Modification of such shapes and optimizing them with a view of achieving the best design is not currently possible without recreating these shapes “from the ground up” using roughly equivalent parametric geometry.
Various prior art approaches have been unsuccessfully used to solve the above-identified problems. One prior art approach makes the design changes in the host CAD system and then passes such changes back to the simulation application. However, such a process is generally very inefficient since the simulation engineer is normally unfamiliar with the host CAD application. In addition, such an approach still fails to allow functions such as parametric optimization for design of experiments (DOE) that require shape changes to be executed. In a second prior art approach, some prior art simulation products have required the CAD system to be co-installed and in effect shape changes via the CAD API (application programming interface) in the external CAD process. Though this works, such a process is a substantial burden on the simulation engineer. In a third prior art approach, changes were made by altering the mesh directly. Note that none of these prior art approaches work for “organic geometry” produced by processes such as topology optimization.
In view of the above, what is needed is a mechanism for modifying shapes and parametrically modifying dumb geometry in a simulation that avoids the problems described above.